/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.hl7.v3;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import org.eclipse.emf.common.util.Enumerator;

/**
 * <!-- begin-user-doc -->
 * A representation of the literals of the enumeration '<em><b>Race Pacific Island Micronesian</b></em>',
 * and utility methods for working with them.
 * <!-- end-user-doc -->
 * <!-- begin-model-doc -->
 * specDomain: S15794 (C-0-T14914-S15787-S15794-cpt)
 * <!-- end-model-doc -->
 * @see org.hl7.v3.V3Package#getRacePacificIslandMicronesian()
 * @model extendedMetaData="name='RacePacificIslandMicronesian'"
 * @generated
 */
public enum RacePacificIslandMicronesian implements Enumerator {
	/**
	 * The '<em><b>20859</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_20859_VALUE
	 * @generated
	 * @ordered
	 */
	_20859(0, "_20859", "2085-9"),

	/**
	 * The '<em><b>20925</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_20925_VALUE
	 * @generated
	 * @ordered
	 */
	_20925(1, "_20925", "2092-5"),

	/**
	 * The '<em><b>20883</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_20883_VALUE
	 * @generated
	 * @ordered
	 */
	_20883(2, "_20883", "2088-3"),

	/**
	 * The '<em><b>20974</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_20974_VALUE
	 * @generated
	 * @ordered
	 */
	_20974(3, "_20974", "2097-4"),

	/**
	 * The '<em><b>20875</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_20875_VALUE
	 * @generated
	 * @ordered
	 */
	_20875(4, "_20875", "2087-5"),

	/**
	 * The '<em><b>20867</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_20867_VALUE
	 * @generated
	 * @ordered
	 */
	_20867(5, "_20867", "2086-7"),

	/**
	 * The '<em><b>20966</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_20966_VALUE
	 * @generated
	 * @ordered
	 */
	_20966(6, "_20966", "2096-6"),

	/**
	 * The '<em><b>20933</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_20933_VALUE
	 * @generated
	 * @ordered
	 */
	_20933(7, "_20933", "2093-3"),

	/**
	 * The '<em><b>20891</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_20891_VALUE
	 * @generated
	 * @ordered
	 */
	_20891(8, "_20891", "2089-1"),

	/**
	 * The '<em><b>20909</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_20909_VALUE
	 * @generated
	 * @ordered
	 */
	_20909(9, "_20909", "2090-9"),

	/**
	 * The '<em><b>20917</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_20917_VALUE
	 * @generated
	 * @ordered
	 */
	_20917(10, "_20917", "2091-7"),

	/**
	 * The '<em><b>20941</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_20941_VALUE
	 * @generated
	 * @ordered
	 */
	_20941(11, "_20941", "2094-1"),

	/**
	 * The '<em><b>20958</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_20958_VALUE
	 * @generated
	 * @ordered
	 */
	_20958(12, "_20958", "2095-8"),

	/**
	 * The '<em><b>20982</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #_20982_VALUE
	 * @generated
	 * @ordered
	 */
	_20982(13, "_20982", "2098-2");

	/**
	 * The '<em><b>20859</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>20859</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_20859
	 * @model literal="2085-9"
	 * @generated
	 * @ordered
	 */
	public static final int _20859_VALUE = 0;

	/**
	 * The '<em><b>20925</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>20925</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_20925
	 * @model literal="2092-5"
	 * @generated
	 * @ordered
	 */
	public static final int _20925_VALUE = 1;

	/**
	 * The '<em><b>20883</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>20883</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_20883
	 * @model literal="2088-3"
	 * @generated
	 * @ordered
	 */
	public static final int _20883_VALUE = 2;

	/**
	 * The '<em><b>20974</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>20974</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_20974
	 * @model literal="2097-4"
	 * @generated
	 * @ordered
	 */
	public static final int _20974_VALUE = 3;

	/**
	 * The '<em><b>20875</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>20875</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_20875
	 * @model literal="2087-5"
	 * @generated
	 * @ordered
	 */
	public static final int _20875_VALUE = 4;

	/**
	 * The '<em><b>20867</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>20867</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_20867
	 * @model literal="2086-7"
	 * @generated
	 * @ordered
	 */
	public static final int _20867_VALUE = 5;

	/**
	 * The '<em><b>20966</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>20966</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_20966
	 * @model literal="2096-6"
	 * @generated
	 * @ordered
	 */
	public static final int _20966_VALUE = 6;

	/**
	 * The '<em><b>20933</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>20933</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_20933
	 * @model literal="2093-3"
	 * @generated
	 * @ordered
	 */
	public static final int _20933_VALUE = 7;

	/**
	 * The '<em><b>20891</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>20891</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_20891
	 * @model literal="2089-1"
	 * @generated
	 * @ordered
	 */
	public static final int _20891_VALUE = 8;

	/**
	 * The '<em><b>20909</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>20909</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_20909
	 * @model literal="2090-9"
	 * @generated
	 * @ordered
	 */
	public static final int _20909_VALUE = 9;

	/**
	 * The '<em><b>20917</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>20917</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_20917
	 * @model literal="2091-7"
	 * @generated
	 * @ordered
	 */
	public static final int _20917_VALUE = 10;

	/**
	 * The '<em><b>20941</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>20941</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_20941
	 * @model literal="2094-1"
	 * @generated
	 * @ordered
	 */
	public static final int _20941_VALUE = 11;

	/**
	 * The '<em><b>20958</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>20958</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_20958
	 * @model literal="2095-8"
	 * @generated
	 * @ordered
	 */
	public static final int _20958_VALUE = 12;

	/**
	 * The '<em><b>20982</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>20982</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #_20982
	 * @model literal="2098-2"
	 * @generated
	 * @ordered
	 */
	public static final int _20982_VALUE = 13;

	/**
	 * An array of all the '<em><b>Race Pacific Island Micronesian</b></em>' enumerators.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private static final RacePacificIslandMicronesian[] VALUES_ARRAY =
		new RacePacificIslandMicronesian[] {
			_20859,
			_20925,
			_20883,
			_20974,
			_20875,
			_20867,
			_20966,
			_20933,
			_20891,
			_20909,
			_20917,
			_20941,
			_20958,
			_20982,
		};

	/**
	 * A public read-only list of all the '<em><b>Race Pacific Island Micronesian</b></em>' enumerators.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static final List<RacePacificIslandMicronesian> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));

	/**
	 * Returns the '<em><b>Race Pacific Island Micronesian</b></em>' literal with the specified literal value.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static RacePacificIslandMicronesian get(String literal) {
		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
			RacePacificIslandMicronesian result = VALUES_ARRAY[i];
			if (result.toString().equals(literal)) {
				return result;
			}
		}
		return null;
	}

	/**
	 * Returns the '<em><b>Race Pacific Island Micronesian</b></em>' literal with the specified name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static RacePacificIslandMicronesian getByName(String name) {
		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
			RacePacificIslandMicronesian result = VALUES_ARRAY[i];
			if (result.getName().equals(name)) {
				return result;
			}
		}
		return null;
	}

	/**
	 * Returns the '<em><b>Race Pacific Island Micronesian</b></em>' literal with the specified integer value.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static RacePacificIslandMicronesian get(int value) {
		switch (value) {
			case _20859_VALUE: return _20859;
			case _20925_VALUE: return _20925;
			case _20883_VALUE: return _20883;
			case _20974_VALUE: return _20974;
			case _20875_VALUE: return _20875;
			case _20867_VALUE: return _20867;
			case _20966_VALUE: return _20966;
			case _20933_VALUE: return _20933;
			case _20891_VALUE: return _20891;
			case _20909_VALUE: return _20909;
			case _20917_VALUE: return _20917;
			case _20941_VALUE: return _20941;
			case _20958_VALUE: return _20958;
			case _20982_VALUE: return _20982;
		}
		return null;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final int value;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final String name;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final String literal;

	/**
	 * Only this class can construct instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private RacePacificIslandMicronesian(int value, String name, String literal) {
		this.value = value;
		this.name = name;
		this.literal = literal;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getValue() {
	  return value;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getName() {
	  return name;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getLiteral() {
	  return literal;
	}

	/**
	 * Returns the literal value of the enumerator, which is its string representation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public String toString() {
		return literal;
	}
	
} //RacePacificIslandMicronesian
